1. Field of the Invention
The invention relates to a method of transmission of at least one video sequence of images that is divided into a plurality of groups of successive images,
comprising, for each group of successive images, the following steps:                transmitting source color values that represent image(s) of said group in a source color space from an emitter towards a receiver,        then transforming transmitted source color values into destination color values that represent image(s) of said group into a destination color space, by using a so-called resultant color transform look up table that is related to said group.        
The transmission of the color transform look up table that is necessary to transform source color values into destination color values is a main issue that is addressed by the invention.
2. Discussion of Related Art
The invention relates generally to color management and in particular to color transform of color values of images that are transmitted through a video channel (as HDMI compliant wire link), when such images are grouped into at least one video sequence. When the images move along the post-production workflow from a so-called source color device to another so-called destination color device, it is necessary to transform the colors of a specific image of a video sequence from the color space associated with the source color device to the color space associated with the destination color device. Color device can be a display device as a copying device. Color device can be virtual, and then be associated for example with the well-known sRGB color space. The above-mentioned transformation of color values is usually non-linear. In practice, this transformation is done using predefined coloured tables, so-called Look-Up-Tables (LUTs). A LUT contains for each entry color CIN an output color COUT. Being a table, a LUT is inherently discrete in color space. Often the LUT entries are quantized coarser than the color values in order to limit its size. LUTs are often applied to different color values of images by using dedicated hardware based on specifically designed memory structures. Such hardware loads a LUT during initialization and then starts to apply the LUT to the color values of images. But, the LUT may change in time, from one sequence to a following one, for example to adapt to the temporal changing image content or to adapt to the temporal changing viewing conditions such as ambient light. In this case, for a new sequence of images, a new LUT has to be loaded into the specific hardware. The color display may be at a distant place and images of a sequence are transmitted one after the other. If the LUT needs to be updated from a specific sequence on, images of this sequence have to be transmitted such that the whole LUT is received in time for the starting of the mentioned sequence. Since transmission bandwidth of the video channel is usually limited, at least one of the following parameters is limited: the frequency of LUT update, the number of LUT entries, and the precision of LUT output values. It has to be pointed out that limited memory on receiver side has a similar effect as that of limited bandwidth.
In the document U.S. Pat. No. 5,923,316, a color transformation is disclosed, that uses a look-up-table the size of which may dynamically vary to accommodate varying parameters, such as available memory. Reducing the size of the lookup table will increase the error component in the color transformation, which reduces picture quality. However a full speed video playback can be achieved by truncating least significant bits of the LUT, until the truncated lookup table fits the memory space. A drawback of such a transmission is that the LUT are finally not entirely but only partially transmitted, because of the truncation. In the document U.S. Pat. No. 5,736,989, a method is disclosed for reducing computation time and memory space required to generate and store color conversion interpolation tables (=LUT). A partially filled, regular LUT that is filled on an “as needed” basis is disclosed. Fill status is represented by status bits. The problem of the transmission of entire large LUTs is not solved, since required LUT entries need to be calculated before an incoming color value can be transformed.
The document U.S. Pat. No. 6,771,275 discloses using a look-up table that includes both sampled data entries and difference values (also known as “differentials”). The difference values correspond to the rates of change from each table entry and its neighbors in the table. Then, the whole LUT is approximated using a sub-LUT-0, a sub-LUT-delta and an interpolation engine. Although this method resolves the problem of how to get a large sized LUT by transmitting an approximated LUT and by using an interpolation engine, a drawback of this method is that the whole LUT is only an approximation.
The document U.S. Pat. No. 6,621,498 discloses the tiling of a LUT that is used for color transform. As color values (“RGB parameters”) are typically represented by three 8-bit values (for each of the R, G, and B components), the size of look up tables are prohibitively expensive and physically impractical. Therefore, such look up tables are typically partitioned into different “tile”, each tile being for instance represented by three 4-bit values. Output values that are not directly represented by nodes of these tiles are determined by a form of interpolation among nodes of the look up table (LUT). Tiling look up tables can be even and regular, i.e. each tile is a cube, and the dimensions of each cube are the same. To resolve the problem of how to store (or to transmit) a large sized LUT, it is proposed to tile non-regularly look up tables. This document propose to tile a LUT based on multi-dimensional, non separable, non-regular sampling of the basic LUT into sub-LUTs, in order to increase precision where required and low memory footprint at same time. Local sampling granularity is restricted to be one of a number of discrete granularity grains in between a minimal and a maximal grain. Hereby a sliced or tiled LUT organization results. This method is complicated to implement. Moreover, the division of the basic LUT is made according to the degree of complexity of the relationship between zones of the source color space and zones of the destination color space, whatever the actual needs of transformation, i.e. the color content of the images to transform. According to the document U.S. Pat. No. 5,652,831, “An input image data is divided into upper bits and lower bits . . . . The upper bits are used by a three-dimensional color correction look-up table for outputting correct color reference points. The lower bits are used by a three-dimensional interpolation coefficient generating table for outputting the coefficients corresponding to each reference point. The color correction values of inputted image data can be conclusively computed in accordance with the two sets of data (i.e. two LUTs), i.e. the upper bits and the lower bits . . . . Then, the appearance equivalent color characteristics are analyzed according to the inputted image data to determine the dividing ratio of the upper bits and the lower bits (i.e. the division between the two LUTs), wherein the computation is scalable because the ratio of the numbers of the upper bits and the lower bits can be adjusted. The method may skip unnecessary interpolation computation and choose the color patch directly so that the computation accuracy and speed are increased. Moreover, the secondary error caused by the distortion of interpolation computation can also be avoided. Preferably a fuzzy variable point interpolating method may be used to quickly quantize the color coordinate and determines the local attribute in color space for the data characteristic of an input image.” One drawback of methods that are disclosed in this document is that the division of the LUT is made according to the bit depth, whatever the actual needs of transformation, i.e. the color content of the images to transform.
Other documents deals with the transmission of color palettes as U.S. Pat. No. 7,091,985.